import axios from 'axios'
import qs from 'qs'
import commonParams from '@/api/config.js'


axios.defaults.withCredentials = true    //表示跨域请求时是否需要使用凭证
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
// 发送时
axios.interceptors.request.use(config => {
  
   let params= {
        _:1552291686071,
        g_tk: 5381,
        uin: 0,
        format: 'json',
        inCharset: 'utf-8',
        outCharset:'utf-8',
        notice: 0,
        platform: 'h5',
        needNewCode: 1,
    }
    config.params =Object.assign(params,config.params)
    // if (config.method === 'post' || config.method === 'put') {
    //     // post、put 提交时，将对象转换为string, 为处理Java后台解析问题
    //     config.data = JSON.stringify(config.data)
    //   } else if (config.method === 'get' && browser.isIE) {
    //     // 给GET 请求后追加时间戳， 解决IE GET 请求缓存问题
    //     let symbol = config.url.indexOf('?') >= 0 ? '&' : '?'
    //     config.url += symbol + '_=' + Date.now()
    //   }
    // 开始
    return config
}, err => {
    return Promise.reject(err)
})

// 添加响应拦截器
axios.interceptors.response.use(response => {
    return response

  }, error => {
    
    return Promise.reject(error)
  })
  


const baseURL = '/api'

// 备用路径  
// const baseURL = 'https://easy-mock.com/mock/5a83160c948cfd365a524088/apis/'
// const baseURL = 'https://easy-mock.com/mock/5a6fe597a52f145df7e8a38a/apis/'
export default {
    get(url, params) {
        if (!url) return
        return axios({
            method: 'get',
            url: baseURL + url,
            params,
            timeout: 30000
        })
    },
    post(url, data) {
        if (!url) return
        return axios({
            method: 'post',
            url: baseURL + url,
            data: qs.stringify(data),
            timeout: 30000
        })
    },
    postFile(url, data) {
        if (!url) return
        return axios({
            method: 'post',
            url: baseURL + url,
            data
        })
    },
    api_post(url,method='get',params={}){
          return axios({
              url:url,
              method:method,
            ...params
          })
    },
    API_All(params){
        return axios.all([...params])
    }
}